package jp.dodododo.dao.util;

/**
 * 
 * @author Satoshi Kimura
 */
public abstract class EnumUtil {

	@SuppressWarnings("unchecked")
	public static <T> T firstValue(Class<? extends Enum> enumType, Class<T> castType) {
		Enum enumVal = firstValue(enumType);
		return castType.cast(enumVal);
	}

	public static <E extends Enum<E>> E firstValue(Class<E> enumType) {
		E[] enumConstants = enumType.getEnumConstants();
		if (enumConstants == null || enumConstants.length == 0) {
			return null;
		}
		return enumConstants[0];
	}

}
